package cn.com.bod.fas.clm.exception;

import cn.com.bod.fas.common.utils.ResultUtil;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

import cn.com.bod.fas.common.exception.GlobalExceptionHandler;
import cn.com.yusys.yusp.commons.web.rest.dto.ResultDto;
import lombok.extern.slf4j.Slf4j;

@RestControllerAdvice
@Slf4j
public class ContractGlobalExceptionHandler extends GlobalExceptionHandler {

	@Autowired
	private ResultUtil resultUtil;
	
    /**
     * @description 处理合同管理服务业务异常
     * @author chenyuanxian
     * @date 2019年9月21日 下午10:48:09
     * @param ex 合同管理服务业务异常
     * @return 响应报文对象
     */
	@ExceptionHandler(value = ContractException.class)
	public ResultDto<Void> handleException(ContractException ex) {
		ResultDto<Void> resultDto = resultUtil.error(ex.getResultCodeEnum());
		log.error("合同管理服务业务异常：{}-{}", resultDto.getMessage(), ExceptionUtils.getStackTrace(ex));
		return resultDto;
	}
}
